/**
 * Created by chenlei on 2017/4/13.
 */
/*
 State负责存储整个应用的状态数据，一般需要在使用的时候在跟节点注入store对象，后期就可以使用this.$store.state直接获取状态
 后续在组件中使用的过程中，如果想要获取对应的状态你就可以直接使用this.$store.state获取，也可以利用vuex提供的mapState辅助函数将state映射到计算属性中去

 Mutations的中文意思是“变化”，利用它可以更改状态，本质就是用来处理数据的函数，其接收唯一参数值state。store.commit(mutationName)是用来触发一个mutation的方法。
 需要记住的是，定义的mutation必须是同步函数，否则devtool中的数据将可能出现问题，使状态改变变得难以跟踪。
 或者使用辅助函数mapMutations直接将触发函数映射到methods上，这样就能在元素事件绑定上直接使用了。
 */
import * as types from '../mutation-types'

const state = {
  userInfo: {
    isLogin: false,
    userId: null,
    userName: null
  }
}
const mutations = {
  [ types.SET_USER_INFO ] (state, userInfo) {
    state.userInfo.isLogin = userInfo.isLogin
    state.userInfo.userId = userInfo.userId
    state.userInfo.userName = userInfo.userName

  }
}
export default {
  state,
  mutations
}
